package com.genericdao.intf;

import java.util.List;

/**
 * 泛型接口，被 dao 基类实现
 * @author lin
 *
 * @param <T>
 */
public interface BaseDao<T> {
	
	/**
	 * 增加
	 * @param t
	 */
	public void create(T t);
	
	/**
	 * 根据id查询
	 * @param id
	 * @return
	 */
	public T read(Integer id);
	
	/**
	 * 更新
	 * @param t
	 */
	public void update(T t);
	
	/**
	 * 删除
	 * @param t
	 */
	public void delete(T t);
	
	/**
	 * 根据id删除
	 * @param id
	 */
	public void delete(Integer id);
	
	/**
	 * 查询全部
	 * @return
	 */
	public List<T> listAll();
	
	/**
	 * 条件查询
	 * @param hql
	 * @param parameters
	 * @return
	 */
	public List<T> listAll(String hql,Object... parameters);

}
